-
Notifications
You must be signed in to change notification settings - Fork 128
Add qdrant native engine #271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new qdrant_native engine that communicates with Qdrant using the REST API directly via httpx, as an alternative to the existing qdrant engine that uses the official Qdrant Python client. The implementation provides native HTTP-based access for benchmarking purposes.
- Adds a complete qdrant_native engine implementation with configuration, upload, search, and parsing capabilities
- Integrates the new engine into the client factory
- Provides configuration presets for single-node benchmarking scenarios
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| experiments/configurations/qdrant-native-single-node.json | Adds 8 benchmark configuration presets for the qdrant_native engine with varying quantization and search parameters |
| engine/clients/qdrant_native/init.py | Module initialization exposing configurator, uploader, and searcher classes |
| engine/clients/qdrant_native/config.py | Configuration constants for collection name and API key from environment variables |
| engine/clients/qdrant_native/configure.py | Collection configuration and creation logic using REST API |
| engine/clients/qdrant_native/parser.py | Filter condition parser converting internal format to Qdrant REST API JSON |
| engine/clients/qdrant_native/search.py | Search implementation using httpx for direct REST API queries |
| engine/clients/qdrant_native/upload.py | Upload implementation with batch processing and post-upload optimization handling |
| engine/clients/client_factory.py | Registers qdrant_native engine in factory mappings |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This facilitates benchmarking of those changes in the core, that require python-client update. Qdrant "native" engine calls Rest APIs directly.